In general, the present invention provides a method for matching problems occurring in computer systems or networks with possible solutions contained in knowledge bases. When a computer system encounters an unrecoverable error or other technical problem, the computer system may extract information relating to the technical problem from the runtime stack, the exception stack, error stack, or other location. This extracted information is recorded in log or trace files. The information contained in the log or trace files can be helpful in determining the cause of the technical problem and in matching the technical problem to a potential solution.
Sifting through the log or trace files is often difficult because there may be hundreds of files related to a single problem. The log or trace files may contain multiple entries that indicate abnormal actions or other symptoms of the underlying technical problem. Ordinarily, these symptoms are identified, extracted from the log or trace files, and organized into a set of rules that define the symptoms. The rules are then compared to various databases in an attempt to identify the underlying technical problem and find a solution to that problem.
A technote is a typical format for recording and archiving technical problems/solutions that have been previously encountered by the technical community. In the specification and appended claims the term “technote” is used to identify any technical support document. A technote may take a variety of forms and may be served to customers using a range of media. By way of example and not limitation, technotes may be embodied in media such as printed documentation, emails, wiki entries, web pages, or internal archives.
Ordinarily, a technote contains a brief description of the symptoms of a specific technical problem and a detailed solution to that problem. However, even with the use of software tools, it is difficult to match the rules that define the symptoms of the technical problem with the appropriate technote or technotes. The software tool may produce hundreds of matches to various technotes, many of which are repeated. The user is generally forced to search through multiple technotes and decide how well the symptom descriptions within the technotes apply to the current situation. After determining the relevance of the results, the user refines the rule set to eliminate superfluous results, and repeats the search. This process is repeated until a potential solution is eventually identified.